വെബ് പെർഫോമൻസ് എപിഐകളെക്കുറിച്ചുള്ള ഒരു സമഗ്ര ഗൈഡ്. ഉപയോക്തൃ അനുഭവം ഒപ്റ്റിമൈസ് ചെയ്യുന്നതിന് ഫസ്റ്റ് കണ്ടന്റ്ഫുൾ പെയിന്റ് (FCP), ലാർജസ്റ്റ് കണ്ടന്റ്ഫുൾ പെയിന്റ് (LCP), ക്യുമുലേറ്റീവ് ലേഔട്ട് ഷിഫ്റ്റ് (CLS) തുടങ്ങിയ പ്രധാന മെട്രിക്കുകൾ ഇതിൽ ഉൾക്കൊള്ളുന്നു.
വെബ് പെർഫോമൻസ് എപിഐകൾ: മികച്ച ഉപയോക്തൃ അനുഭവങ്ങൾക്കായി ടൈമിംഗ് അളക്കുന്നു
ഇന്നത്തെ ഡിജിറ്റൽ ലോകത്ത്, വേഗതയേറിയതും പ്രതികരിക്കുന്നതുമായ ഒരു വെബ്സൈറ്റ് ഒരു ആഡംബരമല്ല, മറിച്ച് ഒരു ആവശ്യകതയാണ്. ഉപയോക്താക്കൾ തടസ്സമില്ലാത്ത അനുഭവങ്ങൾ പ്രതീക്ഷിക്കുന്നു, ഒരു ചെറിയ കാലതാമസം പോലും നിരാശയിലേക്കും, ഉപേക്ഷിക്കപ്പെട്ട കാർട്ടുകളിലേക്കും, ആത്യന്തികമായി വരുമാനനഷ്ടത്തിലേക്കും നയിച്ചേക്കാം. വെബ് പെർഫോമൻസ് എപിഐകൾ ഡെവലപ്പർമാർക്ക് വെബ്സൈറ്റ് പ്രകടനത്തിന്റെ വിവിധ വശങ്ങൾ കൃത്യമായി അളക്കാനുള്ള ടൂളുകൾ നൽകുന്നു, ഇത് തടസ്സങ്ങൾ കണ്ടെത്താനും ഉപയോക്തൃ അനുഭവം (UX) ഒപ്റ്റിമൈസ് ചെയ്യാനും അവരെ അനുവദിക്കുന്നു.
ഉപയോക്തൃ അനുഭവ മെട്രിക്കുകളുടെ പ്രാധാന്യം മനസ്സിലാക്കൽ
എപിഐകളുടെ സാങ്കേതിക വിശദാംശങ്ങളിലേക്ക് കടക്കുന്നതിന് മുമ്പ്, UX മെട്രിക്കുകൾ എന്തുകൊണ്ട് ഇത്ര പ്രധാനമാണെന്ന് മനസ്സിലാക്കേണ്ടത് അത്യാവശ്യമാണ്. നിങ്ങളുടെ വെബ്സൈറ്റിന്റെ വേഗതയും പ്രതികരണശേഷിയും ഉപയോക്താക്കൾ എങ്ങനെ മനസ്സിലാക്കുന്നു എന്ന് അളക്കാൻ കഴിയുന്ന ഒരു മാർഗ്ഗം അവ നൽകുന്നു. മോശം UX ഇനിപ്പറയുന്നവയെ പ്രതികൂലമായി ബാധിക്കും:
- ബൗൺസ് റേറ്റ്: വേഗത കുറഞ്ഞ ലോഡിംഗ് സമയം പലപ്പോഴും ഉപയോക്താക്കളെ അതിന്റെ ഉള്ളടക്കവുമായി ഇടപഴകുന്നതിന് മുമ്പ് നിങ്ങളുടെ വെബ്സൈറ്റ് വിട്ടുപോകാൻ പ്രേരിപ്പിക്കുന്നു.
- പരിവർത്തന നിരക്കുകൾ: നിരാശാജനകമായ ഒരു ഉപയോക്തൃ അനുഭവം ഇടപാടുകൾ പൂർത്തിയാക്കുന്നതിൽ നിന്ന് സാധ്യതയുള്ള ഉപഭോക്താക്കളെ പിന്തിരിപ്പിക്കും.
- സെർച്ച് എഞ്ചിൻ റാങ്കിംഗ്: ഗൂഗിൾ പോലുള്ള സെർച്ച് എഞ്ചിനുകൾ നല്ല പ്രകടനമുള്ള വെബ്സൈറ്റുകൾക്ക് മുൻഗണന നൽകുന്നു, ഇത് തിരയൽ ഫലങ്ങളിലെ നിങ്ങളുടെ ദൃശ്യപരതയെ ബാധിക്കുന്നു. പെർഫോമൻസ് എപിഐകളെ വളരെയധികം ആശ്രയിക്കുന്ന കോർ വെബ് വൈറ്റൽസ് ഒരു റാങ്കിംഗ് ഘടകമാണ്.
- ബ്രാൻഡ് ധാരണ: വേഗത കുറഞ്ഞ ഒരു വെബ്സൈറ്റ് നിങ്ങളുടെ ബ്രാൻഡിനെക്കുറിച്ച് ഒരു നെഗറ്റീവ് ധാരണ സൃഷ്ടിക്കും, ഇത് വിശദാംശങ്ങളിൽ ശ്രദ്ധയില്ലായ്മയും മോശം ഉപയോക്തൃ അനുഭവവും സൂചിപ്പിക്കുന്നു.
പ്രധാന വെബ് പെർഫോമൻസ് എപിഐകളും മെട്രിക്കുകളും
നിരവധി വെബ് പെർഫോമൻസ് എപിഐകൾ ലഭ്യമാണ്, ഓരോന്നും വെബ്സൈറ്റ് പ്രകടനത്തിന്റെ വിവിധ വശങ്ങളെക്കുറിച്ച് സവിശേഷമായ ഉൾക്കാഴ്ചകൾ നൽകുന്നു. ഏറ്റവും പ്രധാനപ്പെട്ട ചിലത് താഴെ നൽകുന്നു:
1. നാവിഗേഷൻ ടൈമിംഗ് എപിഐ
നാവിഗേഷൻ ടൈമിംഗ് എപിഐ ഒരു ഡോക്യുമെൻ്റ് ലോഡ് ചെയ്യുന്നതുമായി ബന്ധപ്പെട്ട വിശദമായ ടൈമിംഗ് വിവരങ്ങൾ നൽകുന്നു. ലോഡിംഗ് പ്രക്രിയയുടെ വിവിധ ഘട്ടങ്ങൾക്കായി എടുക്കുന്ന സമയം അളക്കാൻ ഇത് നിങ്ങളെ അനുവദിക്കുന്നു, ഉദാഹരണത്തിന്:
- navigationStart: ബ്രൗസർ ഡോക്യുമെൻ്റ് ലഭ്യമാക്കാൻ തുടങ്ങുന്നതിന് തൊട്ടുമുമ്പുള്ള ടൈംസ്റ്റാമ്പ്.
- fetchStart: ബ്രൗസർ നെറ്റ്വർക്കിൽ നിന്ന് ഡോക്യുമെൻ്റ് ലഭ്യമാക്കാൻ തുടങ്ങുന്നതിന് തൊട്ടുമുമ്പുള്ള ടൈംസ്റ്റാമ്പ്.
- domainLookupStart: ഡോക്യുമെൻ്റിൻ്റെ ഡൊമെയ്നിനായി ബ്രൗസർ DNS ലുക്കപ്പ് ആരംഭിക്കുന്നതിന് തൊട്ടുമുമ്പുള്ള ടൈംസ്റ്റാമ്പ്.
- domainLookupEnd: ബ്രൗസർ DNS ലുക്കപ്പ് പൂർത്തിയാക്കിയതിന് തൊട്ടുശേഷമുള്ള ടൈംസ്റ്റാമ്പ്.
- connectStart: ബ്രൗസർ സെർവറിലേക്ക് കണക്ഷൻ സ്ഥാപിക്കാൻ തുടങ്ങുന്നതിന് തൊട്ടുമുമ്പുള്ള ടൈംസ്റ്റാമ്പ്.
- connectEnd: ബ്രൗസർ സെർവറിലേക്ക് കണക്ഷൻ സ്ഥാപിച്ചു കഴിഞ്ഞതിന് തൊട്ടുശേഷമുള്ള ടൈംസ്റ്റാമ്പ്.
- requestStart: ബ്രൗസർ ഡോക്യുമെൻ്റിനായി HTTP അഭ്യർത്ഥന അയയ്ക്കുന്നതിന് തൊട്ടുമുമ്പുള്ള ടൈംസ്റ്റാമ്പ്.
- responseStart: ബ്രൗസറിന് HTTP പ്രതികരണത്തിൻ്റെ ആദ്യ ബൈറ്റ് ലഭിച്ചതിന് തൊട്ടുശേഷമുള്ള ടൈംസ്റ്റാമ്പ്.
- responseEnd: ബ്രൗസറിന് മുഴുവൻ HTTP പ്രതികരണവും ലഭിച്ചതിന് തൊട്ടുശേഷമുള്ള ടൈംസ്റ്റാമ്പ്.
- domLoading: ബ്രൗസർ document.readyState എന്നതിനെ "loading" എന്ന് സജ്ജീകരിക്കുന്നതിന് തൊട്ടുമുമ്പുള്ള ടൈംസ്റ്റാമ്പ്.
- domInteractive: ബ്രൗസർ HTML ഡോക്യുമെൻ്റ് പാഴ്സ് ചെയ്തതിനും DOM തയ്യാറായതിനും തൊട്ടുശേഷമുള്ള ടൈംസ്റ്റാമ്പ്.
- domContentLoadedEventStart: ബ്രൗസർ DOMContentLoaded ഇവൻ്റ് ഫയർ ചെയ്യുന്നതിന് തൊട്ടുമുമ്പുള്ള ടൈംസ്റ്റാമ്പ്.
- domContentLoadedEventEnd: ബ്രൗസർ DOMContentLoaded ഇവൻ്റ് ഫയർ ചെയ്തതിന് തൊട്ടുശേഷമുള്ള ടൈംസ്റ്റാമ്പ്.
- domComplete: ബ്രൗസർ document.readyState എന്നതിനെ "complete" എന്ന് സജ്ജീകരിച്ചതിന് തൊട്ടുശേഷമുള്ള ടൈംസ്റ്റാമ്പ്.
- loadEventStart: ബ്രൗസർ ലോഡ് ഇവൻ്റ് ഫയർ ചെയ്യുന്നതിന് തൊട്ടുമുമ്പുള്ള ടൈംസ്റ്റാമ്പ്.
- loadEventEnd: ബ്രൗസർ ലോഡ് ഇവൻ്റ് ഫയർ ചെയ്തതിന് തൊട്ടുശേഷമുള്ള ടൈംസ്റ്റാമ്പ്.
ഉദാഹരണം: DNS ലുക്കപ്പിനായി എടുത്ത സമയം കണക്കാക്കുന്നു:
const navigationTiming = performance.getEntriesByType("navigation")[0];
const dnsLookupTime = navigationTiming.domainLookupEnd - navigationTiming.domainLookupStart;
console.log(`DNS Lookup Time: ${dnsLookupTime} ms`);
2. റിസോഴ്സ് ടൈമിംഗ് എപിഐ
റിസോഴ്സ് ടൈമിംഗ് എപിഐ ഒരു വെബ്പേജ് ലോഡ് ചെയ്യുന്ന ചിത്രങ്ങൾ, CSS ഫയലുകൾ, JavaScript ഫയലുകൾ, ഫോണ്ടുകൾ തുടങ്ങിയ ഓരോ റിസോഴ്സുകൾക്കും വിശദമായ ടൈമിംഗ് വിവരങ്ങൾ നൽകുന്നു. ലോഡ് ചെയ്യാൻ ഏറ്റവും കൂടുതൽ സമയമെടുക്കുന്ന റിസോഴ്സുകൾ തിരിച്ചറിയാനും അവയുടെ ഡെലിവറി ഒപ്റ്റിമൈസ് ചെയ്യാനും ഈ എപിഐ നിങ്ങളെ സഹായിക്കുന്നു.
പ്രധാന മെട്രിക്കുകൾ:
- name: റിസോഴ്സിന്റെ URL.
- startTime: ബ്രൗസർ റിസോഴ്സ് ലഭ്യമാക്കാൻ തുടങ്ങുന്ന ടൈംസ്റ്റാമ്പ്.
- responseEnd: ബ്രൗസറിന് റിസോഴ്സിന്റെ അവസാന ബൈറ്റ് ലഭിക്കുന്ന ടൈംസ്റ്റാമ്പ്.
- duration: റിസോഴ്സ് ലോഡ് ചെയ്യാൻ എടുത്ത ആകെ സമയം (responseEnd - startTime).
- transferSize: നെറ്റ്വർക്കിലൂടെ കൈമാറ്റം ചെയ്യപ്പെട്ട റിസോഴ്സിന്റെ വലുപ്പം.
- encodedBodySize: കംപ്രഷന് മുമ്പുള്ള റിസോഴ്സിന്റെ വലുപ്പം.
- decodedBodySize: ഡീകംപ്രഷന് ശേഷമുള്ള റിസോഴ്സിന്റെ വലുപ്പം.
ഉദാഹരണം: പേജിലെ ഏറ്റവും വലിയ ചിത്രം തിരിച്ചറിയുന്നു:
const resourceTiming = performance.getEntriesByType("resource");
let largestImage = null;
let largestImageSize = 0;
resourceTiming.forEach(resource => {
if (resource.initiatorType === "img" && resource.transferSize > largestImageSize) {
largestImage = resource.name;
largestImageSize = resource.transferSize;
}
});
console.log(`Largest Image: ${largestImage}, Size: ${largestImageSize} bytes`);
3. യൂസർ ടൈമിംഗ് എപിഐ
യൂസർ ടൈമിംഗ് എപിഐ നിങ്ങൾക്ക് കസ്റ്റം പെർഫോമൻസ് മെട്രിക്കുകൾ നിർവചിക്കാനും നിർദ്ദിഷ്ട കോഡ് ബ്ലോക്കുകൾക്കോ ഉപയോക്തൃ ഇടപെടലുകൾക്കോ എടുത്ത സമയം അളക്കാനും അവസരം നൽകുന്നു. നിർണ്ണായകമായ JavaScript ഫംഗ്ഷനുകളുടെയോ സങ്കീർണ്ണമായ UI ഘടകങ്ങളുടെയോ പ്രകടനം ട്രാക്ക് ചെയ്യുന്നതിന് ഇത് പ്രത്യേകിച്ചും ഉപയോഗപ്രദമാണ്.
പ്രധാന രീതികൾ:
- performance.mark(markName): നിർദ്ദിഷ്ട പേരിൽ ഒരു ടൈംസ്റ്റാമ്പ് സൃഷ്ടിക്കുന്നു.
- performance.measure(measureName, startMark, endMark): രണ്ട് മാർക്കുകൾക്കിടയിൽ ഒരു പെർഫോമൻസ് അളവ് സൃഷ്ടിക്കുന്നു.
- performance.getEntriesByType("measure"): എല്ലാ പെർഫോമൻസ് അളവുകളും വീണ്ടെടുക്കുന്നു.
ഉദാഹരണം: ഒരു സങ്കീർണ്ണമായ റിയാക്റ്റ് ഘടകം റെൻഡർ ചെയ്യാൻ എടുത്ത സമയം അളക്കുന്നു:
performance.mark("componentRenderStart");
// Code to render the React component
render( , document.getElementById("root"));
performance.mark("componentRenderEnd");
performance.measure("componentRenderTime", "componentRenderStart", "componentRenderEnd");
const renderTime = performance.getEntriesByName("componentRenderTime")[0].duration;
console.log(`Component Render Time: ${renderTime} ms`);
4. ലോങ്ങ് ടാസ്ക്സ് എപിഐ
മെയിൻ ത്രെഡിനെ 50 മില്ലിസെക്കൻഡിൽ കൂടുതൽ തടസ്സപ്പെടുത്തുന്ന ടാസ്ക്കുകൾ തിരിച്ചറിയാൻ ലോങ്ങ് ടാസ്ക്സ് എപിഐ നിങ്ങളെ സഹായിക്കുന്നു. ഈ ലോങ്ങ് ടാസ്ക്കുകൾ UI ജാങ്കിന് കാരണമാവുകയും ഉപയോക്തൃ അനുഭവത്തെ പ്രതികൂലമായി ബാധിക്കുകയും ചെയ്യും. ഈ ടാസ്ക്കുകൾ കണ്ടെത്തി ഒപ്റ്റിമൈസ് ചെയ്യുന്നതിലൂടെ, നിങ്ങളുടെ വെബ്സൈറ്റിന്റെ പ്രതികരണശേഷി മെച്ചപ്പെടുത്താൻ കഴിയും.
ഉദാഹരണം: കൺസോളിലേക്ക് ലോങ്ങ് ടാസ്ക്കുകൾ ലോഗ് ചെയ്യുന്നു:
const observer = new PerformanceObserver((list) => {
list.getEntries().forEach((entry) => {
console.log("Long Task:", entry);
});
});
observer.observe({ type: "longtask", buffered: true });
5. പെയിന്റ് ടൈമിംഗ് എപിഐ
ഒരു വെബ്പേജിന്റെ വിഷ്വൽ റെൻഡറിംഗുമായി ബന്ധപ്പെട്ട രണ്ട് പ്രധാന മെട്രിക്കുകൾ പെയിന്റ് ടൈമിംഗ് എപിഐ വെളിപ്പെടുത്തുന്നു:
- ഫസ്റ്റ് പെയിന്റ് (FP): ബ്രൗസർ സ്ക്രീനിൽ ആദ്യത്തെ പിക്സൽ റെൻഡർ ചെയ്യുന്ന സമയം.
- ഫസ്റ്റ് കണ്ടന്റ്ഫുൾ പെയിന്റ് (FCP): ബ്രൗസർ സ്ക്രീനിൽ ആദ്യത്തെ ഉള്ളടക്കം (ഉദാഹരണത്തിന്, ചിത്രം, ടെക്സ്റ്റ്) റെൻഡർ ചെയ്യുന്ന സമയം.
നിങ്ങളുടെ വെബ്സൈറ്റിൽ നിന്ന് ഉപയോക്താക്കൾക്ക് പ്രാരംഭ വിഷ്വൽ ഫീഡ്ബാക്ക് എത്ര വേഗത്തിൽ ലഭിക്കുന്നുവെന്ന് മനസ്സിലാക്കാൻ ഈ മെട്രിക്കുകൾ നിർണായകമാണ്.
ഉദാഹരണം: FCP വീണ്ടെടുക്കുന്നു:
const paintTiming = performance.getEntriesByType("paint");
const fcpEntry = paintTiming.find(entry => entry.name === "first-contentful-paint");
if (fcpEntry) {
console.log(`First Contentful Paint: ${fcpEntry.startTime} ms`);
}
6. ലാർജസ്റ്റ് കണ്ടന്റ്ഫുൾ പെയിന്റ് (LCP)
ലാർജസ്റ്റ് കണ്ടന്റ്ഫുൾ പെയിന്റ് (LCP) ഒരു കോർ വെബ് വൈറ്റലാണ്. വ്യൂപോർട്ടിനുള്ളിൽ ഏറ്റവും വലിയ ഉള്ളടക്ക ഘടകം (ഉദാഹരണത്തിന്, ചിത്രം, വീഡിയോ, ടെക്സ്റ്റ് ബ്ലോക്ക്) ദൃശ്യമാകാൻ എടുക്കുന്ന സമയം ഇത് അളക്കുന്നു. ഒരു നല്ല LCP സ്കോർ പേജിന്റെ പ്രധാന ഉള്ളടക്കം വേഗത്തിൽ ലോഡ് ചെയ്യുന്നുവെന്ന് സൂചിപ്പിക്കുന്നു, ഇത് മികച്ച ഉപയോക്തൃ അനുഭവം നൽകുന്നു.
LCP-യ്ക്കായി എന്താണ് ഒപ്റ്റിമൈസ് ചെയ്യേണ്ടത്:
- ചിത്രങ്ങൾ ഒപ്റ്റിമൈസ് ചെയ്യുക: ഉചിതമായ ഇമേജ് ഫോർമാറ്റുകൾ (ഉദാ. WebP) ഉപയോഗിക്കുക, ചിത്രങ്ങൾ കംപ്രസ് ചെയ്യുക, റെസ്പോൺസീവ് ചിത്രങ്ങൾ ഉപയോഗിക്കുക.
- CSS ഒപ്റ്റിമൈസ് ചെയ്യുക: CSS ഫയലുകൾ മിനിഫൈ ചെയ്യുകയും കംപ്രസ് ചെയ്യുകയും ചെയ്യുക, റെൻഡർ-ബ്ലോക്കിംഗ് CSS ഒഴിവാക്കുക.
- JavaScript ഒപ്റ്റിമൈസ് ചെയ്യുക: പ്രാധാന്യമില്ലാത്ത JavaScript മാറ്റിവയ്ക്കുക, ദീർഘനേരം പ്രവർത്തിക്കുന്ന JavaScript ടാസ്ക്കുകൾ ഒഴിവാക്കുക.
- സെർവർ പ്രതികരണ സമയം: നിങ്ങളുടെ സെർവർ അഭ്യർത്ഥനകളോട് വേഗത്തിൽ പ്രതികരിക്കുന്നുവെന്ന് ഉറപ്പാക്കുക.
7. ക്യുമുലേറ്റീവ് ലേഔട്ട് ഷിഫ്റ്റ് (CLS)
ക്യുമുലേറ്റീവ് ലേഔട്ട് ഷിഫ്റ്റ് (CLS) മറ്റൊരു കോർ വെബ് വൈറ്റലാണ്, ഇത് ഒരു വെബ്പേജിന്റെ വിഷ്വൽ സ്ഥിരത അളക്കുന്നു. ലോഡിംഗ് പ്രക്രിയയിൽ സംഭവിക്കുന്ന അപ്രതീക്ഷിത ലേഔട്ട് ഷിഫ്റ്റുകളുടെ അളവ് ഇത് കണക്കാക്കുന്നു. കുറഞ്ഞ CLS സ്കോർ പേജ് കാഴ്ചയിൽ സ്ഥിരതയുള്ളതാണെന്ന് സൂചിപ്പിക്കുന്നു, ഇത് കൂടുതൽ സന്തോഷകരമായ ഉപയോക്തൃ അനുഭവം നൽകുന്നു.
ലേഔട്ട് ഷിഫ്റ്റുകൾക്ക് കാരണമാകുന്നത് എന്താണ്:
- വലിപ്പം വ്യക്തമാക്കാത്ത ചിത്രങ്ങൾ: ചിത്രങ്ങൾക്ക് എപ്പോഴും വീതിയും ഉയരവും ആട്രിബ്യൂട്ടുകൾ വ്യക്തമാക്കുക.
- സ്ഥലം റിസർവ് ചെയ്യാത്ത പരസ്യങ്ങൾ, എംബഡുകൾ, ഐഫ്രെയിമുകൾ: ലേഔട്ട് ഷിഫ്റ്റുകൾ ഉണ്ടാകുന്നത് തടയാൻ ഈ ഘടകങ്ങൾക്കായി സ്ഥലം റിസർവ് ചെയ്യുക.
- ഡൈനാമിക് ആയി ചേർക്കുന്ന ഉള്ളടക്കം: ഡൈനാമിക് ആയി ഉള്ളടക്കം ചേർക്കുമ്പോൾ ശ്രദ്ധിക്കുക, കാരണം ഇത് അപ്രതീക്ഷിത ലേഔട്ട് ഷിഫ്റ്റുകൾക്ക് കാരണമാകും.
- FOIT/FOUT-ന് കാരണമാകുന്ന വെബ് ഫോണ്ടുകൾ: ഫോണ്ട്-ഓഫ്-ഇൻവിസിബിൾ-ടെക്സ്റ്റ് (FOIT), ഫോണ്ട്-ഓഫ്-അൺസ്റ്റൈൽഡ്-ടെക്സ്റ്റ് (FOUT) എന്നിവയുടെ ആഘാതം കുറയ്ക്കുന്നതിന് ഫോണ്ട് ലോഡിംഗ് ഒപ്റ്റിമൈസ് ചെയ്യുക.
8. ഇന്ററാക്ഷൻ ടു നെക്സ്റ്റ് പെയിന്റ് (INP)
ഇന്ററാക്ഷൻ ടു നെക്സ്റ്റ് പെയിന്റ് (INP) ഉപയോക്തൃ ഇടപെടലുകളോടുള്ള ഒരു വെബ്പേജിന്റെ പ്രതികരണശേഷി അളക്കുന്ന ഒരു കോർ വെബ് വൈറ്റൽ മെട്രിക്കാണ്. ഒരു പേജ് സന്ദർശന വേളയിൽ ഉപയോക്താവ് നടത്തുന്ന എല്ലാ ക്ലിക്കുകൾ, ടാപ്പുകൾ, കീബോർഡ് ഇടപെടലുകൾ എന്നിവയുടെ ലേറ്റൻസി ഇത് വിലയിരുത്തുന്നു. 2024 മാർച്ചിൽ INP, ഫസ്റ്റ് ഇൻപുട്ട് ഡിലേയെ (FID) കോർ വെബ് വൈറ്റലായി മാറ്റിസ്ഥാപിച്ചു.
INP മെച്ചപ്പെടുത്തുന്നു:
- JavaScript എക്സിക്യൂഷൻ ഒപ്റ്റിമൈസ് ചെയ്യുക: മെയിൻ ത്രെഡ് ബ്ലോക്ക് ചെയ്യുന്നത് ഒഴിവാക്കാൻ വലിയ ടാസ്ക്കുകളെ ചെറിയ, അസിൻക്രണസ് ഭാഗങ്ങളായി വിഭജിക്കുക.
- അപ്രധാനമായ JavaScript മാറ്റിവയ്ക്കുക: പ്രാരംഭ റെൻഡറിംഗിന് ആവശ്യമായ JavaScript മാത്രം ലോഡ് ചെയ്യുകയും ബാക്കിയുള്ളവ മാറ്റിവയ്ക്കുകയും ചെയ്യുക.
- വെബ് വർക്കേഴ്സ് ഉപയോഗിക്കുക: മെയിൻ ത്രെഡ് ബ്ലോക്ക് ചെയ്യുന്നത് തടയാൻ കമ്പ്യൂട്ടേഷണൽ ആയി തീവ്രമായ ടാസ്ക്കുകൾ വെബ് വർക്കേഴ്സിലേക്ക് ഓഫ്ലോഡ് ചെയ്യുക.
- ഇവന്റ് ഹാൻഡ്ലറുകൾ ഒപ്റ്റിമൈസ് ചെയ്യുക: ഇവന്റ് ഹാൻഡ്ലറുകൾ കാര്യക്ഷമമാണെന്നും അനാവശ്യ പ്രവർത്തനങ്ങൾ ഒഴിവാക്കുന്നുവെന്നും ഉറപ്പാക്കുക.
പ്രായോഗിക ഉദാഹരണങ്ങളും കോഡ് സ്നിപ്പെറ്റുകളും
വെബ്സൈറ്റ് പ്രകടനം അളക്കാനും ഒപ്റ്റിമൈസ് ചെയ്യാനും വെബ് പെർഫോമൻസ് എപിഐകൾ എങ്ങനെ ഉപയോഗിക്കാം എന്നതിൻ്റെ ചില പ്രായോഗിക ഉദാഹരണങ്ങൾ താഴെ നൽകുന്നു:
ഉദാഹരണം 1: പേജ് ലോഡ് സമയം അളക്കുന്നു
window.addEventListener("load", () => {
const loadTime = performance.timing.loadEventEnd - performance.timing.navigationStart;
console.log(`Page Load Time: ${loadTime} ms`);
});
ഉദാഹരണം 2: വേഗത കുറഞ്ഞ റിസോഴ്സുകൾ കണ്ടെത്തുന്നു
const resourceTiming = performance.getEntriesByType("resource");
resourceTiming.forEach(resource => {
if (resource.duration > 1000) {
console.warn(`Slow Resource: ${resource.name}, Duration: ${resource.duration} ms`);
}
});
ഉദാഹരണം 3: ടൈം ടു ഇൻ്ററാക്ടീവ് (TTI) അളക്കുന്നു - ഏകദേശ കണക്ക്
ശ്രദ്ധിക്കുക: TTI ഒരു സങ്കീർണ്ണമായ മെട്രിക്കാണ്, ഇത് ഒരു ലളിതമായ ഏകദേശ കണക്കാണ്. യഥാർത്ഥ TTI-ക്ക് കൂടുതൽ സങ്കീർണ്ണമായ ഒരു സമീപനം ആവശ്യമാണ്.
function getTimeToInteractive() {
return new Promise(resolve => {
if (document.readyState === 'complete') {
resolve(performance.now());
} else {
window.addEventListener('load', () => {
resolve(performance.now());
});
}
});
}
getTimeToInteractive().then(tti => {
console.log(`Approximate Time to Interactive: ${tti} ms`);
});
ഉപയോക്തൃ അനുഭവം ഒപ്റ്റിമൈസ് ചെയ്യുന്നതിനുള്ള പ്രവർത്തനപരമായ ഉൾക്കാഴ്ചകൾ
വെബ് പെർഫോമൻസ് എപിഐകൾ ഉപയോഗിച്ച് നിങ്ങൾ പെർഫോമൻസ് ഡാറ്റ ശേഖരിച്ചുകഴിഞ്ഞാൽ, നിങ്ങളുടെ വെബ്സൈറ്റിന്റെ ഉപയോക്തൃ അനുഭവം ഒപ്റ്റിമൈസ് ചെയ്യുന്നതിന് താഴെ പറയുന്ന പ്രവർത്തനപരമായ ഉൾക്കാഴ്ചകൾ ഉപയോഗിക്കാം:
- ചിത്രങ്ങൾ ഒപ്റ്റിമൈസ് ചെയ്യുക: ചിത്രങ്ങൾ കംപ്രസ് ചെയ്യുക, ഉചിതമായ ഇമേജ് ഫോർമാറ്റുകൾ (ഉദാ. WebP) ഉപയോഗിക്കുക, ഇമേജ് ലോഡിംഗ് സമയം കുറയ്ക്കാൻ റെസ്പോൺസീവ് ചിത്രങ്ങൾ ഉപയോഗിക്കുക.
- കോഡ് മിനിഫൈ ചെയ്യുകയും കംപ്രസ് ചെയ്യുകയും ചെയ്യുക: HTML, CSS, JavaScript ഫയലുകളുടെ വലുപ്പം കുറയ്ക്കാനും ലോഡിംഗ് സമയം മെച്ചപ്പെടുത്താനും അവ മിനിഫൈ ചെയ്യുകയും കംപ്രസ് ചെയ്യുകയും ചെയ്യുക.
- ബ്രൗസർ കാഷിംഗ് പ്രയോജനപ്പെടുത്തുക: സ്റ്റാറ്റിക് റിസോഴ്സുകളുടെ ബ്രൗസർ കാഷിംഗ് പ്രവർത്തനക്ഷമമാക്കുന്നതിന് ഉചിതമായ കാഷെ ഹെഡറുകൾ സജ്ജീകരിക്കാൻ നിങ്ങളുടെ സെർവർ കോൺഫിഗർ ചെയ്യുക.
- ഒരു കണ്ടൻ്റ് ഡെലിവറി നെറ്റ്വർക്ക് (CDN) ഉപയോഗിക്കുക: വിവിധ സ്ഥലങ്ങളിലുള്ള ഉപയോക്താക്കൾക്ക് ലേറ്റൻസി കുറയ്ക്കുന്നതിന് നിങ്ങളുടെ വെബ്സൈറ്റിന്റെ ഉള്ളടക്കം ഭൂമിശാസ്ത്രപരമായി ഒന്നിലധികം സെർവറുകളിൽ വിതരണം ചെയ്യുക. ക്ലൗഡ്ഫ്ലെയർ, അകാമൈ, ആമസോൺ ക്ലൗഡ്ഫ്രണ്ട് എന്നിവ ജനപ്രിയ CDN ദാതാക്കളാണ്.
- ഫോണ്ട് ലോഡിംഗ് ഒപ്റ്റിമൈസ് ചെയ്യുക: ഫോണ്ട് ബ്ലോക്കിംഗ് തടയുന്നതിനും നിങ്ങളുടെ വെബ്സൈറ്റിന്റെ ലോഡിംഗ് വേഗത മെച്ചപ്പെടുത്തുന്നതിനും font-display: swap ഉപയോഗിക്കുക.
- HTTP അഭ്യർത്ഥനകൾ കുറയ്ക്കുക: CSS, JavaScript ഫയലുകൾ സംയോജിപ്പിച്ചും, ക്രിട്ടിക്കൽ CSS ഇൻലൈൻ ചെയ്തും, CSS സ്പ്രൈറ്റുകൾ ഉപയോഗിച്ചും HTTP അഭ്യർത്ഥനകളുടെ എണ്ണം കുറയ്ക്കുക.
- അപ്രധാനമായ റിസോഴ്സുകൾ മാറ്റിവയ്ക്കുക: പ്രാരംഭ പേജ് ലോഡിന് ശേഷം ചിത്രങ്ങളും JavaScript ഫയലുകളും പോലുള്ള അപ്രധാനമായ റിസോഴ്സുകളുടെ ലോഡിംഗ് മാറ്റിവയ്ക്കുക.
- സെർവർ പ്രതികരണ സമയം ഒപ്റ്റിമൈസ് ചെയ്യുക: നിങ്ങളുടെ സെർവർ സൈഡ് കോഡും ഡാറ്റാബേസ് ക്വറികളും ഒപ്റ്റിമൈസ് ചെയ്തുകൊണ്ട് നിങ്ങളുടെ സെർവർ അഭ്യർത്ഥനകളോട് വേഗത്തിൽ പ്രതികരിക്കുന്നുവെന്ന് ഉറപ്പാക്കുക.
- പ്രകടനം പതിവായി നിരീക്ഷിക്കുക: ഏതെങ്കിലും പ്രകടന പ്രശ്നങ്ങൾ തിരിച്ചറിയുന്നതിനും പരിഹരിക്കുന്നതിനും വെബ് പെർഫോമൻസ് എപിഐകളും മറ്റ് പെർഫോമൻസ് നിരീക്ഷണ ടൂളുകളും ഉപയോഗിച്ച് നിങ്ങളുടെ വെബ്സൈറ്റിന്റെ പ്രകടനം തുടർച്ചയായി നിരീക്ഷിക്കുക. Google PageSpeed Insights, WebPageTest, Lighthouse പോലുള്ള ടൂളുകൾ വിലപ്പെട്ട ഉൾക്കാഴ്ചകൾ നൽകാൻ കഴിയും.
പെർഫോമൻസ് നിരീക്ഷണത്തിനുള്ള ടൂളുകളും ലൈബ്രറികളും
വെബ് പെർഫോമൻസ് എപിഐകൾ ഉപയോഗിച്ച് വെബ്സൈറ്റ് പ്രകടനം നിരീക്ഷിക്കാനും വിശകലനം ചെയ്യാനും നിരവധി ടൂളുകളും ലൈബ്രറികളും നിങ്ങളെ സഹായിക്കും:
- Google PageSpeed Insights: നിങ്ങളുടെ വെബ്സൈറ്റിന്റെ പ്രകടനം വിശകലനം ചെയ്യുകയും മെച്ചപ്പെടുത്തുന്നതിനുള്ള ശുപാർശകൾ നൽകുകയും ചെയ്യുന്ന ഒരു സൗജന്യ ടൂൾ.
- WebPageTest: വിവിധ സ്ഥലങ്ങളിൽ നിന്നും ബ്രൗസറുകളിൽ നിന്നും നിങ്ങളുടെ വെബ്സൈറ്റിന്റെ പ്രകടനം പരിശോധിക്കാൻ അനുവദിക്കുന്ന ഒരു സൗജന്യ ടൂൾ.
- Lighthouse: വെബ് പേജുകളുടെ ഗുണനിലവാരം മെച്ചപ്പെടുത്തുന്നതിനുള്ള ഒരു ഓപ്പൺ സോഴ്സ്, ഓട്ടോമേറ്റഡ് ടൂൾ. ഇതിന് പ്രകടനം, പ്രവേശനക്ഷമത, പ്രോഗ്രസ്സീവ് വെബ് ആപ്പുകൾ, എസ്ഇഒ എന്നിവയ്ക്കും അതിലേറെ കാര്യങ്ങൾക്കുമായി ഓഡിറ്റുകൾ ഉണ്ട്.
- New Relic: വെബ്സൈറ്റ് പ്രകടനത്തെക്കുറിച്ച് തത്സമയ ഉൾക്കാഴ്ചകൾ നൽകുന്ന ഒരു സമഗ്രമായ പ്രകടന നിരീക്ഷണ പ്ലാറ്റ്ഫോം.
- Datadog: വെബ്സൈറ്റ് പ്രകടനം ഉൾപ്പെടെ നിങ്ങളുടെ മുഴുവൻ ഇൻഫ്രാസ്ട്രക്ചറിലേക്കും ദൃശ്യപരത നൽകുന്ന ഒരു നിരീക്ഷണ, വിശകലന പ്ലാറ്റ്ഫോം.
- Sentry: ഒരു തത്സമയ എറർ ട്രാക്കിംഗ്, പെർഫോമൻസ് നിരീക്ഷണ പ്ലാറ്റ്ഫോം.
- Web Vitals Chrome Extension: കോർ വെബ് വൈറ്റൽസ് മെട്രിക്കുകൾ തത്സമയം പ്രദർശിപ്പിക്കുന്ന ഒരു ക്രോം എക്സ്റ്റൻഷൻ.
ആഗോള പ്രേക്ഷകർക്കുള്ള പരിഗണനകൾ
ഒരു ആഗോള പ്രേക്ഷകർക്കായി വെബ്സൈറ്റ് പ്രകടനം ഒപ്റ്റിമൈസ് ചെയ്യുമ്പോൾ, താഴെ പറയുന്ന ഘടകങ്ങൾ പരിഗണിക്കേണ്ടത് പ്രധാനമാണ്:
- ഭൂമിശാസ്ത്രപരമായ സ്ഥാനം: നിങ്ങളുടെ ഉള്ളടക്കം ഭൂമിശാസ്ത്രപരമായി ഒന്നിലധികം സെർവറുകളിൽ വിതരണം ചെയ്യാൻ ഒരു CDN ഉപയോഗിക്കുക, ഇത് വിവിധ സ്ഥലങ്ങളിലുള്ള ഉപയോക്താക്കൾക്ക് ലേറ്റൻസി കുറയ്ക്കുന്നു.
- നെറ്റ്വർക്ക് അവസ്ഥകൾ: ഇമേജ് കംപ്രഷൻ, കോഡ് മിനിഫിക്കേഷൻ, ബ്രൗസർ കാഷിംഗ് തുടങ്ങിയ ടെക്നിക്കുകൾ ഉപയോഗിച്ച് വേഗത കുറഞ്ഞതോ വിശ്വസനീയമല്ലാത്തതോ ആയ നെറ്റ്വർക്ക് കണക്ഷനുകളുള്ള ഉപയോക്താക്കൾക്കായി നിങ്ങളുടെ വെബ്സൈറ്റ് ഒപ്റ്റിമൈസ് ചെയ്യുക.
- ഉപകരണ ശേഷികൾ: റെസ്പോൺസീവ് ഡിസൈനും അഡാപ്റ്റീവ് ലോഡിംഗ് ടെക്നിക്കുകളും ഉപയോഗിച്ച് മൊബൈൽ ഫോണുകൾ, ടാബ്ലെറ്റുകൾ, ഡെസ്ക്ടോപ്പുകൾ എന്നിവയുൾപ്പെടെ വിവിധ ഉപകരണങ്ങൾക്കായി നിങ്ങളുടെ വെബ്സൈറ്റ് ഒപ്റ്റിമൈസ് ചെയ്യുക.
- ഭാഷയും പ്രാദേശികവൽക്കരണവും: ഉള്ളടക്കം വിവർത്തനം ചെയ്യുകയും വിവിധ ടെക്സ്റ്റ് ദിശകൾക്കായി ലേഔട്ടുകൾ ക്രമീകരിക്കുകയും ഉൾപ്പെടെ, വിവിധ ഭാഷകൾക്കും പ്രദേശങ്ങൾക്കുമായി നിങ്ങളുടെ വെബ്സൈറ്റ് പ്രാദേശികവൽക്കരിച്ചിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക.
- പ്രവേശനക്ഷമത: WCAG പോലുള്ള പ്രവേശനക്ഷമതാ മാർഗ്ഗനിർദ്ദേശങ്ങൾ പാലിച്ച് നിങ്ങളുടെ വെബ്സൈറ്റ് വൈകല്യമുള്ള ഉപയോക്താക്കൾക്ക് ലഭ്യമാണെന്ന് ഉറപ്പാക്കുക.
ഉപസംഹാരം
വെബ്സൈറ്റ് പ്രകടനം അളക്കുന്നതിനും ഒപ്റ്റിമൈസ് ചെയ്യുന്നതിനും വെബ് പെർഫോമൻസ് എപിഐകൾ വിലമതിക്കാനാവാത്ത ടൂളുകൾ നൽകുന്നു. ഈ എപിഐകൾ മനസ്സിലാക്കുകയും ഉപയോഗിക്കുകയും ചെയ്യുന്നതിലൂടെ, ഡെവലപ്പർമാർക്ക് പ്രകടനത്തിലെ തടസ്സങ്ങൾ തിരിച്ചറിയാനും ഉപയോക്തൃ അനുഭവം മെച്ചപ്പെടുത്താനും ആത്യന്തികമായി ബിസിനസ്സ് വിജയം നേടാനും കഴിയും. മൊത്തത്തിലുള്ള വെബ്സൈറ്റ് ആരോഗ്യത്തിനും ഉപയോക്തൃ സംതൃപ്തിക്കും വേണ്ടിയുള്ള പ്രധാന മെട്രിക്കുകളായി കോർ വെബ് വൈറ്റലുകൾക്ക് (LCP, CLS, INP) മുൻഗണന നൽകാൻ ഓർക്കുക. നിങ്ങളുടെ വെബ്സൈറ്റിന്റെ പ്രകടനം തുടർച്ചയായി നിരീക്ഷിക്കുകയും ഒപ്റ്റിമൈസ് ചെയ്യുകയും ചെയ്യുന്നതിലൂടെ, ലോകമെമ്പാടുമുള്ള ഉപയോക്താക്കൾക്ക് വേഗതയേറിയതും പ്രതികരിക്കുന്നതും ആകർഷകവുമായ അനുഭവം ഉറപ്പാക്കാൻ നിങ്ങൾക്ക് കഴിയും.